/**
 */
package gatperdut.chato.model.Chato.Craft;

import org.eclipse.emf.cdo.CDOObject;

import org.eclipse.emf.common.util.EList;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Step</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getInitMessageSelf <em>Init Message Self</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getInitMessageOthers <em>Init Message Others</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getFailMessageSelf <em>Fail Message Self</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getFailMessageOthers <em>Fail Message Others</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getTime <em>Time</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getTools <em>Tools</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getGeneratedItems <em>Generated Items</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Craft.CraftStep#getChecks <em>Checks</em>}</li>
 * </ul>
 * </p>
 *
 * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep()
 * @model
 * @extends CDOObject
 * @generated
 */
public interface CraftStep extends CDOObject {
	/**
     * Returns the value of the '<em><b>Init Message Self</b></em>' attribute.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Init Message Self</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Init Message Self</em>' attribute.
     * @see #setInitMessageSelf(String)
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_InitMessageSelf()
     * @model required="true"
     * @generated
     */
	String getInitMessageSelf();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Craft.CraftStep#getInitMessageSelf <em>Init Message Self</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Init Message Self</em>' attribute.
     * @see #getInitMessageSelf()
     * @generated
     */
	void setInitMessageSelf(String value);

	/**
     * Returns the value of the '<em><b>Init Message Others</b></em>' attribute.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Init Message Others</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Init Message Others</em>' attribute.
     * @see #setInitMessageOthers(String)
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_InitMessageOthers()
     * @model required="true"
     * @generated
     */
	String getInitMessageOthers();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Craft.CraftStep#getInitMessageOthers <em>Init Message Others</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Init Message Others</em>' attribute.
     * @see #getInitMessageOthers()
     * @generated
     */
	void setInitMessageOthers(String value);

	/**
     * Returns the value of the '<em><b>Fail Message Self</b></em>' attribute.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Fail Message Self</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Fail Message Self</em>' attribute.
     * @see #setFailMessageSelf(String)
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_FailMessageSelf()
     * @model required="true"
     * @generated
     */
	String getFailMessageSelf();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Craft.CraftStep#getFailMessageSelf <em>Fail Message Self</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Fail Message Self</em>' attribute.
     * @see #getFailMessageSelf()
     * @generated
     */
	void setFailMessageSelf(String value);

	/**
     * Returns the value of the '<em><b>Fail Message Others</b></em>' attribute.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Fail Message Others</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Fail Message Others</em>' attribute.
     * @see #setFailMessageOthers(String)
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_FailMessageOthers()
     * @model required="true"
     * @generated
     */
	String getFailMessageOthers();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Craft.CraftStep#getFailMessageOthers <em>Fail Message Others</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Fail Message Others</em>' attribute.
     * @see #getFailMessageOthers()
     * @generated
     */
	void setFailMessageOthers(String value);

	/**
     * Returns the value of the '<em><b>Time</b></em>' attribute.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Time</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Time</em>' attribute.
     * @see #setTime(int)
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_Time()
     * @model required="true"
     * @generated
     */
	int getTime();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Craft.CraftStep#getTime <em>Time</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Time</em>' attribute.
     * @see #getTime()
     * @generated
     */
	void setTime(int value);

	/**
     * Returns the value of the '<em><b>Tools</b></em>' containment reference list.
     * The list contents are of type {@link gatperdut.chato.model.Chato.Craft.CraftTool}.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Tools</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Tools</em>' containment reference list.
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_Tools()
     * @model containment="true"
     * @generated
     */
	EList<CraftTool> getTools();

	/**
     * Returns the value of the '<em><b>Generated Items</b></em>' containment reference list.
     * The list contents are of type {@link gatperdut.chato.model.Chato.Craft.GeneratedItem}.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Generated Items</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Generated Items</em>' containment reference list.
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_GeneratedItems()
     * @model containment="true"
     * @generated
     */
	EList<GeneratedItem> getGeneratedItems();

	/**
     * Returns the value of the '<em><b>Checks</b></em>' containment reference list.
     * The list contents are of type {@link gatperdut.chato.model.Chato.Craft.CraftCheck}.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Checks</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Checks</em>' containment reference list.
     * @see gatperdut.chato.model.Chato.Craft.CraftPackage#getCraftStep_Checks()
     * @model containment="true"
     * @generated
     */
	EList<CraftCheck> getChecks();

} // CraftStep
